From: Georges Basile Stavracas Neto Date: Thu, 24 Sep 2020 15:00:03 +0000 (-0300) Subject: appDisplay: Adjust folder position X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~655^2^2~10 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=17095928117be1648dc0a68313251e842dd4842c;p=gnome-shell.git appDisplay: Adjust folder position If you try and drop an icon that's in the same page, but before the drop target, it'll be one position ahead of where it should be - because we just removed one icon before the target position. Adjust the final position of the to-be-created folder. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1447 --- diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index 6011d72ee..b704a5460 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -1314,9 +1314,18 @@ class AppDisplay extends BaseAppView { // The hovered AppIcon always passes its own id as the first // one, and this is where we want the folder to be created - const [folderPage, folderPosition] = + let [folderPage, folderPosition] = this._grid.getItemPosition(this._items.get(apps[0])); + // Adjust the final position + folderPosition -= apps.reduce((counter, appId) => { + const [page, position] = + this._grid.getItemPosition(this._items.get(appId)); + if (page === folderPage && position < folderPosition) + counter++; + return counter; + }, 0); + let appItems = apps.map(id => this._items.get(id).app); let folderName = _findBestFolderName(appItems); if (!folderName)